package com.skiving.cloud.workflow.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 *  实体类。
 *
 * @author skivingcloud
 * @since 2024-03-25
 */
@ApiModel("流程实例历史")
@Table(value = "act_hi_procinst")
public class ActHiProcinst implements Serializable {

    @Id@Column(value = "ID_")
    @ApiModelProperty("主键")
    private String id;

    @Column(value = "PROC_INST_ID_")
    @ApiModelProperty("流程实例ID")
    private String procInstId;

    @Column(value = "BUSINESS_KEY_")
    @ApiModelProperty("业务主键")
    private String businessKey;

    @Column(value = "PROC_DEF_KEY_")
    @ApiModelProperty("流程定义编码")
    private String procDefKey;

    @Column(value = "PROC_DEF_ID_")
    @ApiModelProperty("流程定义ID")
    private String procDefId;

    @Column(value = "START_TIME_")
    @ApiModelProperty("开始时间")
    private LocalDateTime startTime;

    @Column(value = "END_TIME_")
    @ApiModelProperty("结束时间")
    private LocalDateTime endTime;

    @Column(value = "REMOVAL_TIME_")
    @ApiModelProperty("REMOVAL_TIME_")
    private LocalDateTime removalTime;

    @Column(value = "DURATION_")
    @ApiModelProperty("停留时间")
    private Long duration;

    @Column(value = "START_USER_ID_")
    @ApiModelProperty("发起人")
    private String startUserId;

    @Column(value = "START_ACT_ID_")
    @ApiModelProperty("发起节点ID")
    private String startActId;

    @Column(value = "END_ACT_ID_")
    @ApiModelProperty("结算阶段ID")
    private String endActId;

    @Column(value = "SUPER_PROCESS_INSTANCE_ID_")
    @ApiModelProperty("SUPER_PROCESS_INSTANCE_ID_")
    private String superProcessInstanceId;

    @Column(value = "ROOT_PROC_INST_ID_")
    @ApiModelProperty("ROOT_PROC_INST_ID_")
    private String rootProcInstId;

    @Column(value = "SUPER_CASE_INSTANCE_ID_")
    @ApiModelProperty("SUPER_CASE_INSTANCE_ID_")
    private String superCaseInstanceId;

    @Column(value = "CASE_INST_ID_")
    @ApiModelProperty("CASE_INST_ID_")
    private String caseInstId;

    @Column(value = "DELETE_REASON_")
    @ApiModelProperty("删除原因")
    private String deleteReason;

    @Column(value = "TENANT_ID_")
    @ApiModelProperty("租户")
    private String tenantId;

    @Column(value = "STATE_")
    @ApiModelProperty("状态")
    private String state;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getProcInstId() {
        return procInstId;
    }

    public void setProcInstId(String procInstId) {
        this.procInstId = procInstId;
    }

    public String getBusinessKey() {
        return businessKey;
    }

    public void setBusinessKey(String businessKey) {
        this.businessKey = businessKey;
    }

    public String getProcDefKey() {
        return procDefKey;
    }

    public void setProcDefKey(String procDefKey) {
        this.procDefKey = procDefKey;
    }

    public String getProcDefId() {
        return procDefId;
    }

    public void setProcDefId(String procDefId) {
        this.procDefId = procDefId;
    }

    public LocalDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime) {
        this.startTime = startTime;
    }

    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public LocalDateTime getRemovalTime() {
        return removalTime;
    }

    public void setRemovalTime(LocalDateTime removalTime) {
        this.removalTime = removalTime;
    }

    public Long getDuration() {
        return duration;
    }

    public void setDuration(Long duration) {
        this.duration = duration;
    }

    public String getStartUserId() {
        return startUserId;
    }

    public void setStartUserId(String startUserId) {
        this.startUserId = startUserId;
    }

    public String getStartActId() {
        return startActId;
    }

    public void setStartActId(String startActId) {
        this.startActId = startActId;
    }

    public String getEndActId() {
        return endActId;
    }

    public void setEndActId(String endActId) {
        this.endActId = endActId;
    }

    public String getSuperProcessInstanceId() {
        return superProcessInstanceId;
    }

    public void setSuperProcessInstanceId(String superProcessInstanceId) {
        this.superProcessInstanceId = superProcessInstanceId;
    }

    public String getRootProcInstId() {
        return rootProcInstId;
    }

    public void setRootProcInstId(String rootProcInstId) {
        this.rootProcInstId = rootProcInstId;
    }

    public String getSuperCaseInstanceId() {
        return superCaseInstanceId;
    }

    public void setSuperCaseInstanceId(String superCaseInstanceId) {
        this.superCaseInstanceId = superCaseInstanceId;
    }

    public String getCaseInstId() {
        return caseInstId;
    }

    public void setCaseInstId(String caseInstId) {
        this.caseInstId = caseInstId;
    }

    public String getDeleteReason() {
        return deleteReason;
    }

    public void setDeleteReason(String deleteReason) {
        this.deleteReason = deleteReason;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

}
